\section{Un poco de historia}

El 26 de octubre de 1995, se creó el
\textit{Comprehensive Perl Archive Network (CPAN)} \cite{CPAN}. CPAN es un enorme
archivo de software escrito en Perl, así como de documentación sobre el mismo.
Tiene presencia en la Web a través de su sitio \url{www.cpan.org} y sus más de
200 \textit{mirrors} distribuidos por todo el mundo.

Actualmente hay más de 53.000 módulos empaquetados en más de 14.000 paquetes,
aportados por más de 6.400 autores.

Se dispone de módulos para una amplia variedad de tareas, incluyendo matemáticas
avanzadas, conectividad de bases de datos y conexión de redes. Esencialmente,
todo lo que hay en CPAN está disponible de forma libre. La mayor parte del
software está licenciado bajo la Licencia Artística, la GPL o ambas.
Cualquiera puede subir software a CPAN vía \textit{PAUSE}, el
\textit{Perl Authors Upload Server} (servidor de subidas de autores Perl).

Los módulos en CPAN pueden ser descargados e instalados a mano. Sin embargo,
es muy común que los módulos dependan de otros módulos y seguir las dependencias
a mano puede ser tedioso. Tanto el módulo \texttt{CPAN.pm} (incluido en la
distribución Perl) como el módulo mejorado \texttt{CPANPLUS} ofrecen instaladores
en línea de comandos que entienden las dependencias; pueden configurarse para
descargar automáticamente e instalar un módulo y, recursivamente, todos los
módulos de los que dependa.

\section{Instalación de un módulo}

La instalación de un módulo es una tarea bastante sencilla y se puede
llevar a cabo de dos formas distintas:

\begin{itemize}
\item
Descargando el paquete e instalándolo manualmente
\item
Haciendo uso del módulo \texttt{CPAN} y el comando \texttt{cpan}
\end{itemize}

\subsection{Instalación manual}

Una vez descargado el archivo \texttt{.tar.gz} que contiene la
distribución que queremos instalar, se deben realizar los siguientes
pasos:

\begin{verbatim}
   $ perl ./Makefile.PL
   $ make
   $ make test
   $ make install
\end{verbatim}

Es recomendable antes de llevar a cabo estos pasos leer el fichero
\texttt{README} que contiene toda distribución. Es posible que
por las peculiaridades del módulo que se esté instalando haya
que realizar algún paso previo.

\subsection{Instalación con \texttt{CPAN.pm}}

Es posible instalar un módulo, supongamos \texttt{Games::Nintendo::Mario},
con el script \texttt{cpan}. Se trata de un script que hace uso
del módulo \texttt{CPAN.pm} y facilita al usuario el proceso
de instalación.

\begin{verbatim}
   $ cpan Games::Nintendo::Mario
\end{verbatim}

Este proceso de instalación es más sencillo. Como se comentó antes,
en muchas ocasiones el módulo que se desea instalar depende de
la instalación de otros módulos. La orden \texttt{cpan} permite
abstraer al usuario de dichas dependencias y llevar a cabo
el proceso de instalación correctamente.
